草庐IT

java - @DatabaseSetup 无法加载数据集

全部标签

ruby-on-rails - 如何构建我的 RSpec 测试文件夹、文件和数据库?

我已经使用RoR进行开发一年多了,但我才刚刚开始使用RSpec进行测试。对于标准模型/Controller测试,我通常没有任何问题,但问题是我想测试一些复杂的功能流程,并且不知道如何构建我的测试文件夹/文件/数据库。这是我的应用程序的基本结构:classCustomerhas_one:wallethas_many:ordershas_many:invoices,through::ordershas_many:invoice_summariesendclassWalletbelongs_to:customerendclassOrderhas_one:invoicebelongs_to:c

ruby-on-rails - 防止 Rails 测试删除种子数据

我正在使用seeds.rb填充一些状态模型引用数据:State.create:name=>'Alabama',:abbreviation=>'AL'State.create:name=>'Alaska',:abbreviation=>'AK'#...虽然我没有使用状态固定装置(因为它是种子数据,我认为纯粹为了测试而复制它不会是DRY),Rails测试框架似乎删除了所有状态种子数据测试。(我正在删除、重新创建、迁移和重新播种测试数据库,并在单元测试运行之前确认数据在那里。)结果是此断言在seeds.rb中成功但在单行测试中失败:assert_equal51,State.all.size1

sql - Rails 中独立于数据库的 SQL 字符串连接

我想在Rails查询中进行数据库端字符串连接,并以独立于数据库的方式进行。SQL-92指定双杠(||)作为连接运算符。不幸的是,MSSQLServer似乎不支持它;它使用+代替。我猜Rails的SQL语法抽象已经解决了特定于数据库的运算符问题。如果它确实存在,我该如何使用它? 最佳答案 我遇到了同样的问题,但从未想出任何内置于Rails中的东西。所以我写了这个小方法。#Symbolsshouldbeusedforfieldnames,everythingelsewillbequotedasastringdefdb_concat(*a

ruby-on-rails - 自动加载常量用户时检测到循环依赖

我按照本教程(http://railscasts.com/episodes/236-omniauth-part-2)使用OmniAuth和Devise创建facebook登录,但我收到此错误:在我的routes.rb中自动加载常量用户时检测到循环依赖devise_for:users,:controllers=>{:registrations=>'registrations'}registrations_controller.rbClassRegistrationsController这是我从AuthenticationsController创建的方法defcreateomniauth=

ruby-on-rails - 自动加载项目的环境到 irb

Rails有一个有用的命令railsconsole,它会下载所有必要的数据,然后我们可以在irb中与rails项目进行交互。Ruby项目(基于Ruby语言构建)是否有相同的技术?通过这个技巧,我可以在irb中使用Ruby项目,而无需担心加载库、模块、类、文件等。谢谢 最佳答案 您的项目应该有一个加载环境的文件。假设您的项目在lib/project.rb中,那么只需:$irb-Ilib-rproject 关于ruby-on-rails-自动加载项目的环境到irb,我们在StackOverf

ruby-on-rails - 无法通过 Homebrew 启动 elasticsearch 服务器

所以我通过brew安装了elasticsearch:$brewinstallelasticsearch然后当我运行elasticsearch服务器时:elasticsearch-f-Des.config=/usr/local/Cellar/elasticsearch/0.19.3/config/elasticsearch.yml我收到这个错误:{0.20.4}:SetupFailed...-FailedToResolveConfigException[Failedtoresolveconfigpath[/usr/local/Cellar/elasticsearch/0.19.3/con

ruby - 无法在 Ruby : uninitialized constant (NameError) 中将一个类包含到另一个类中

假设我有三个类,每个类都在自己的文件中定义。例如ClassA.rb中的ClassA等...classClassAdefinitializeenddefprintClassAputs"ThisisclassA"endendclassClassBdefinitializeenddefprintClassBputs"ThisisclassB"endendclassClassCdefinitializeenddefbothClassesa=ClassA.newb=ClassB.newa.printClassAb.printClassBendend如您所见,ClassC需要其他两个类才能正常运行

sql - 将每个 SQL 查询记录到 Rails 中的数据库

我想将某些SQL查询rails执行(即CREATE、UPDATE和DELETE)保存到日志文件中因此我需要拦截所有查询,然后可能使用一些正则表达式过滤它们并根据需要记录它们。我应该把这样的东西放在Rails代码的什么地方? 最佳答案 这里是c0r0ner链接的简化版本,以更好地展示它:connection=ActiveRecord::Base.connectionclasse;end#executeoriginalstatementoriginal_exec(sql,*name)endend

ruby-on-rails - 基于当前的托管服务,我应该将哪些数据库与 Ruby on Rails 一起使用?

我一直在寻找托管服务,但我仍然不知道哪种数据库最常见。好像是MySql和PostgreSql。所以,我不确定我的网站会有多少流量和数据(这只是一个项目),但我想做好准备。我曾在Oracle(PL/SQL)的一些项目中工作过,我对MySql有所了解。谢谢!附言。4年后,我主要使用PostgreSQL编写RoR。当我需要简单的应用程序时默认使用SQLite,否则使用PostgreSQL。 最佳答案 Rails的一个原则是你不应该真正关心你使用的是什么数据库:这些都是为你抽象的。所以我会说选择总体上最好的托管服务提供商,并相信他们会选择一

ruby-on-rails - Lion 吃了我的 RVM,现在我无法安装 Ruby

我最近升级到Lion,一切都很好。甚至重新启动机器几次。然后在周末,Rails消失了!我所有的gem都不见了。我发誓我不知道发生了什么。它工作得很好。仔细一看,RVM本身就不见了。因此,我重新安装了RVM并尝试安装Ruby1.9.2,但我得到了这个错误日志:[2011-08-0814:30:41]./configure--prefix="/Users/cbmeeks/.rvm/usr"checkingforaBSD-compatibleinstall.../usr/bin/install-ccheckingwhetherbuildenvironmentissane...yescheck